Aracılığıyla paylaş


System.Collections.ObjectModel.KeyedCollection<TKey,TItem>. ChangeItemKey yöntemi

Bu makale, bu API'nin başvuru belgelerine ek açıklamalar sağlar.

ChangeItemKey(TItem, TKey) yöntemi içine itemeklenmiş anahtarı değiştirmez; yalnızca arama sözlüğüne kaydedilen anahtarın yerini alır. Bu nedenle, içine eklenmiş itemolan anahtardan farklıysanewKey, tarafından GetKeyForItemdöndürülen anahtarı kullanarak erişemezsinizitem.

Arama sözlüğü yoksa KeyedCollection<TKey,TItem> bu yöntem hiçbir şey yapmaz.

içindeki KeyedCollection<TKey,TItem> her anahtar benzersiz olmalıdır. Anahtar olamaz null.

Bu yöntem bir O(1) işlemidir.

Uygulayıcılar için notlar

Bir öğeye eklenmiş anahtarı değiştirmeden önce, arama sözlüğündeki anahtarı güncelleştirmek için bu yöntemi çağırmanız gerekir. Sözlük oluşturma eşiği -1 ise, bu yöntemi çağırmak gerekli değildir.

yöntemini türetilmiş bir sınıfın genel yöntemi olarak kullanıma sunma ChangeItemKey . Bu yöntemin kötüye kullanılması arama sözlüğüne öğe anahtarlarıyla eşitlenmez. Örneğin, anahtarı null olarak ayarlamak ve sonra başka bir değere ayarlamak, arama sözlüğüne bir öğe için birden çok anahtar ekler. Değiştirilebilir öğe anahtarlarına izin vermek için bu yöntemi dahili olarak kullanıma sunma: Bir öğenin anahtarı değiştiğinde, arama sözlüğündeki anahtarı değiştirmek için bu yöntem kullanılır.